1. Field of the Invention
The present invention relates to a data retrieval and transmission system. More particularly, the present invention relates to data retrieval and transmission in accordance with defined business events.
2. Description of the Related Art
Modern business enterprises rely heavily on a wide variety of information technology, including both software and hardware, to implement business strategies, to allocate resources, to track the execution of business processes, and to provide an interface for communication with customers, vendors and their own personnel. These systems will hereinafter be referred to as xe2x80x9centerprise systems.xe2x80x9d Business processes executed by a business enterprise may be executed across enterprise system boundaries as well as within enterprise system boundaries.
Even during standard, non-peak operating conditions, the quantity of data that is transmitted by an enterprise system can be enormous. This data may be received by a business enterprise or produced by a business enterprise for internal use as well as for transmission outside the business enterprise system. However, regardless of the quantity of the data that is produced or transmitted, the quality of that data can vary greatly in content and importance. This variance can occur for a variety of reasons. For example, the data that is transferred among various entities within a business enterprise boundary or outside the business enterprise boundary may vary with the needs of those entities receiving or requesting the data. With the vast amount of data transmitted in enterprise systems and the varying content and importance of this data, detection of problems solely from that data is a complicated task. As a result, existing and potential problems that could arise during the execution of business processes dependent upon that data could go undetected. It would therefore be desirable if the content and importance of the data to the business enterprise producing and/or receiving the data could be indicated in the data transmitted by the enterprise system. Moreover, it would be beneficial if a mechanism for monitoring and detecting conditions based upon the transmitted data could be established.
Existing enterprise systems enable business enterprises to coordinate their internal and external activities in a variety of ways, including data transfer, analysis and processing. More particularly, such enterprise systems produce a flow of data that is used by business enterprises for tasks as diverse as the implementation of strategies for internal use such as accounting and the allocation of resources, and strategies for use across enterprise system boundaries such as order processing systems. Once received by the appropriate business or entity, the data is often parsed or analyzed for the information that is pertinent to the desired function to be performed by that entity. Unfortunately, this parsing and analysis is a time-consuming one, often requiring additional personnel to perform data collection and analysis.
One example of the data processing typically performed by many businesses is the processing of orders. Many businesses that supply products to consumers or retailers use order-processing systems to receive and process data associated with incoming orders. However, such order processing systems have limitations. As a result, additional software is often purchased or additional personnel may be hired to monitor its inventory to ensure that it can satisfy its incoming orders. Similarly, in order to monitor the timeliness of the processing of incoming orders, additional software products or personnel may be required to ensure that the ship dates fall within the expected or promised ship dates. Thus, additional resources are often required to ensure that ordered products are shipped in a timely manner, as well as to detect when products have not or cannot be shipped in a timely manner. As a result, business expenses that may be incurred to support such data analysis are not insubstantial. It would therefore be desirable if such additional resources typically required for analysis of data could be reduced or eliminated.
One method commonly used by businesses to track the data that is pertinent to their business is through the generation of reports. For instance, reports commonly generated often involve the use of spreadsheets. Although such report generation is a simple tool that may be easily adapted for all businesses, once the reports are generated, personnel hired by the business must manually review the data. As one example, the data within a single report may be correlated with other data in the same report. As another example, data within one report may need to be correlated with another report or multiple reports. Such manual interpretation of data is time consuming and requires numerous man-hours, increasing the business expenses required to successively operate a business. Moreover, such manual interpretation is at risk of misinterpretation due to the likelihood of human error. Accordingly, it would be preferable if the retrieval and monitoring of data could be automated.
Another problem with the generation of reports is that such reports merely reformat data for simplified viewing and data comparison. Moreover, since such report generation solely accomplishes the reformatting of data, those reports cannot be used for purposes of subsequent monitoring of that data. In other words, a report is a snapshot of data at a single point in time. More particularly, data values that are imported for purposes of a report will be values that are important to that business. However, data values change over time, and a single report cannot reflect such value changes. Thus, the mere generation of a report cannot be used for subsequent monitoring of that data as it changes over time. Even if multiple reports were generated, this does not enable or simplify the monitoring of the data illustrated in the generated reports. It would therefore be desirable if a mechanism were designed to enable the automated monitoring of valuable business data. Moreover, it would be beneficial if such a system could be customized for use by any business or industry.
In view of the above, it would be desirable if a business enterprise could attach a business context to data being transmitted by a business enterprise system to indicate the content and/or importance of the data. In addition, it would be beneficial if data transmitted by a business enterprise system could be monitored to detect various events deemed important to the business enterprise transmitting the data, such as an entity (e.g., department or group) within the business enterprise. Similarly, it would be desirable if the data transmitted by the business enterprise system could be monitored to detect various events deemed important to an entity (e.g., customer) external to the business enterprise system that is expecting to receive the data, products, services, or other information.
The present invention provides an adapter that enables data to be gathered and modified to identify various business events of interest to a business. Through the modification of data in a manner suitable to the business, these business events may be monitored to enable various conditions to be detected. In this manner, notification of such conditions may be provided to the appropriate entities. Through such notifications, valuable business decisions may be made to ensure successful business operations. In addition, it is important to note that although the exemplary figures and description refer to the use of the present invention in a business context, the present invention is equally applicable to the modification of data for identification of events in other contexts as well.
In accordance with one aspect of the invention, data is obtained and modified for use by a business. First, data including one or more values are obtained. Next, at least a portion of the data is flagged to identify one or more business events of interest to the business. The flagged data for one or more of the identified business events of interest to the business is then provided to one or more entities, thereby enabling the identified business events to be monitored. For instance, the flagged data may be transmitted on a message bus to be retrieved by an agent configured for monitoring the existence of conditions with respect to various business events.
In accordance with another aspect of the invention, the data is flagged to supply a business context to the data. This may be accomplished through the flagging of one or more business attributes that together define a particular business event. Moreover, one or more business metrics may be flagged to identify one or more values that are to be monitored in association with the business event.
In accordance with yet another aspect of the invention, preferences are established to configure the system for a particular business or industry. As one example, retrieval preferences indicating the manner and content of data to be retrieved are obtained. For instance, the retrieval preferences may indicate one or more sources of data, the data (e.g., fields) to be retrieved, and the frequency with which data is to be retrieved. As another example, sending preferences may be obtained that indicate the manner in which the data (e.g., fields) are to be flagged. For instance, the data may be flagged to indicate those fields that are to be monitored or used in subsequent value comparisons. Accordingly, the present invention may be customized for any business or industry.
The present invention enables data to be given meaning within a particular business context. Through the identification of business events, these business events may be monitored in an automated manner. Accordingly, in response to the detection of various business events, states, or conditions, a suitable notification may be provided to the appropriate entities.
These and other features of the present invention will be described in more detail below in the detailed description of the invention and in conjunction with the following figures.